/**
1. Access-Control-Allow-Orgin
        规定了允许访问该资源的外域URL
        res.setHeader('Access-Control-Allow-Orgin', 'url')
2. Access-Control-Allow-Headers
        默认情况下，CORS 仅支持客户端向服务器发送如下的 9个请求头:
        Accept、Accept-Language、 Content-Language、DPR、 Downlink、 Save-Data Viewport-Width、 Width 、
        Content-Type (值仅限于 text/plain、multipart/form-data、 application/x-www-form-urlencoded 三者之一)
        如果客户端向服务器发送了额外的请求头信息，则需要在服务器端，通过 Access-Control-Allow-Headers 对额外的请求头进行声明，否则这次请求会失败!
        比如客户端想要向服务端发送X-Custom-Header的请求头信息，那必须在服务器端通过Access-Control-Allow-Headers设置额外的响应头信息：
        res.setHeader('Access-Control-Allow-Headers', 'X-Custom-Header')    // 多个响应头的话用英文逗号分隔
3. Access-Control-Allow-Methods
        默认情况下，Cors只支持客户端发来的GET、POST、HEAD请求，如果客户端想要通过PUT、DELETE等其他方法请求服务器资源时，需要在服务器端配置相应的方法，比如：
        res.setHeader('Access-Control-Allow-Method', 'PUT, DELETE') // 或者通配符*，表示支持所有的方法

4. 简单请求和预检请求
    4.1 简单请求：满足以下条件的叫简单请求：
        1. 请求方式为：GET、POST、HEAD
        2. HTTP头部信息中无自定义头部字段的
    4.2 预检请求：只要符合下面任意一条的都叫预检请求，预检请求浏览器先向服务器发送option请求，服务器进行检验，检测是否配置了相应的信息，
        这次option请求就是预检请求，如果配置了服务器响应该请求合法，浏览器就真正的发送请求，并且服务器返回真实的数据
        1. 请求方式除了GET、POST、HEAD之外的请求方式
        2. 请求头中包含自定义头部的请求
        3. 向服务器发送application/json格式数据的

 */

const express = require('express')

const router = express.Router()


router.get('/get', (req, res) => {
    const query = req.query
    // res.setHeader('Access-Control-Allow-Origin', '*')

    res.send({
        status: 0,  // 0表示请求成功，1表示请求失败
        msg: 'GET请求成功',
        data: query
    })
})


router.post('/post', (req, res) => {
    const body = req.body
    // console.log(body)

    // // 解决跨域问题，也可以在主程序文件中注册cors模块来解决
    // res.setHeader('Access-Control-Allow-Origin', '*')

    res.send({
        status: 0,
        msg: 'POST请求成功',
        data: body
    })
})

router.delete('/delete', (req, res) => {
    // res.setHeader('Access-Control-Allow-Origin', '*')
    // res.setHeader('Access-Control-Allow-Method', 'DELETE')
    res.send({
        status: 0,
        masg: 'DELETE请求成功'
    })
})


module.exports = router